
# 拉取node:16.20.0
From node:16.20.0

# 设置工作目录
WORKDIR /app

# 复制package.json
COPY package.json package-lock.json pnpm-lock.yaml ./

# 安装pnpm
RUN npm install -g pnpm --unsafe-perm 

# 安装依赖包
RUN pnpm install --unsafe-perm 


# 复制源码
COPY . .

# 声明一个参数
ENV node_env = ${node_env}

# 参数使用时要用 ${} 括起来
RUN echo "---env---: ${node_env}"

# 构建前端项目
RUN npm run build:${node_env}


# 使用 Nginx 基础镜像作为服务器
FROM nginx


# 从 Node 镜像复制构建出的文件到 Nginx 服务器的 html 目录
COPY --from=0 /app/dist /usr/share/nginx/html/
COPY --from=0 /app/nginx.conf /etc/nginx/


# 暴露 80 端口
EXPOSE 80

# 启动 Nginx，并且 Nginx 会持续运行
CMD ["nginx", "-g", "daemon off;"]